package com.biyao.service.model.state;

import com.biyao.schedulingentity.state.*;

import java.util.List;
import java.util.Map;

public interface RollerExtMessage {
    /**
     * 更新当前轧辊的状态
     * @param tRollerExtEntity
     * @return
     */
    Map updateDynamics(TRollerExtEntity tRollerExtEntity);

    /**
     * 查询当前状态
     * @return
     */
    List<Map> selectNowState();

    /**
     * 查询某个轧辊当前状态
     * @return
     */
    Map selectNowStateByCode(Integer id);


    /**
     * 移动轧辊状态
     */
    Map moveRollerState(RollerMoveEntityList rollerMoveEntity);


    /**
     * 轧辊移动到磨床
     * @param rollerMoveEntity
     * @return
     */
    void updateRollerExt(RollerMoveEntity rollerMoveEntity);

    /**
     * 磨床移动到轧辊
     */
    void updateGrinderToRollerExt(RollerMoveEntity RollerMoveEntity);
    /**
     * 判断是否可以移动到辊架
     * @param rollerMoveEntity
     * @return
     */
     Map judgeIsMoveToRollerRacks(RollerMoveEntity rollerMoveEntity);


    /**
     * 查询轧辊当前直径
     * @param rollerId
     * @return
     */
     Float selectRollerExtNowDiameter(Integer rollerId);


    /**
     * 查询当前轧辊信息
     * @return
     */
    List<Map> selectRollerExtMessage();

    /**
     * 查询当前工作状态 已磨未上油辊  已磨已上油辊
     * @return
     */
    List<TRollerExtCopyEntity> selectNowWorkState3();

    /**
     * 更新当前轧辊状态
     */
    void updateWorkState(TRollerExtEntyList list);

    /**
     * 删除当前轧辊
     * @param
     */
    void deleteRollerExit(Integer id);

    /**
     * 纯粹物理地点的变化
     */
    Map updateRackIdOrGrinderId(RollerMoveEntityList rollerMoveEntityList);

    /**
     * 插入活更新轧辊当前的信息
     * @param tRollerExtEntity
     */
    void insertOrUpdateRollerExt(TRollerExtBaseEntity tRollerExtEntity);

    /**
     * 查询轧辊的当前信息
     * @param rollerId
     * @return
     */
    Map selectRollerExtByRollerId(Integer rollerId);


    void updateRollerExetByRollerIdBox(TRollerExtEntity tRollerExtEntity);
}
